﻿<?xml version="1.0" encoding="utf-8"?>
<developerConceptualDocument
	xmlns="http://ddue.schemas.microsoft.com/authoring/2003/5"
	xmlns:xlink="http://www.w3.org/1999/xlink">
	
	<summary>
		<para>AvalonEdit is a WPF-based extensible text editor.</para>
	</summary>
	
	<introduction>
		<para>While the WPF RichTextBox is quite powerful, you quickly run into its limits
		when trying to use it as a code editor: it's hard to write efficient syntax highlighting for it,
		and you cannot really implement features like code folding with the standard RichTextBox.</para>
		<para>The problem is: the RichTextBox edits a rich document.
		In contrast, AvalonEdit simply edits text.</para>
		<para>However, AvalonEdit offers lots of possibilities on how the text document is
		displayed - so it is much more suitable for a code editor where things like the text color
		are not controlled by the user, but instead depend on the text (syntax highlighting).</para>
	</introduction>
	
	<!-- TODO: screenshot-->
	
	<relatedTopics>
		<codeEntityReference>T:ICSharpCode.AvalonEdit.TextEditor</codeEntityReference>
		
		<externalLink>
			<linkText>www.avalonedit.net</linkText>
			<linkUri>http://www.avalonedit.net</linkUri>
		</externalLink>
		
		<externalLink>
			<linkText>www.icsharpcode.net</linkText>
			<linkUri>http://www.icsharpcode.net</linkUri>
		</externalLink>
		
		<!-- One or more of the following:
         - A local link
         - An external link
         - A code entity reference

    <link xlink:href="Other Topic's ID"/>
    <link xlink:href="Other Topic's ID">Link inner text</link>

    <externalLink>
        <linkText>Link text</linkText>
        <linkAlternateText>Optional alternate link text</linkAlternateText>
        <linkUri>URI</linkUri>
    </externalLink>

    <codeEntityReference>API member ID</codeEntityReference>

    Examples:

    <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8270" />
    <link xlink:href="00e97994-e9e6-46e0-b420-5be86b2f8278">Some other topic</link>

    <externalLink>
        <linkText>SHFB on CodePlex</linkText>
        <linkAlternateText>Go to CodePlex</linkAlternateText>
        <linkUri>http://www.codeplex.com/SHFB</linkUri>
    </externalLink>

    <codeEntityReference>T:TestDoc.TestClass</codeEntityReference>
    <codeEntityReference>P:TestDoc.TestClass.SomeProperty</codeEntityReference>
    <codeEntityReference>M:TestDoc.TestClass.#ctor</codeEntityReference>
    <codeEntityReference>M:TestDoc.TestClass.#ctor(System.String,System.Int32)</codeEntityReference>
    <codeEntityReference>M:TestDoc.TestClass.ToString</codeEntityReference>
    <codeEntityReference>M:TestDoc.TestClass.FirstMethod</codeEntityReference>
    <codeEntityReference>M:TestDoc.TestClass.SecondMethod(System.Int32,System.String)</codeEntityReference>
    -->
	</relatedTopics>
</developerConceptualDocument>
